# 设置环境变量为 Production
# ENV ASPNETCORE_ENVIRONMENT=Production

# 使用 .NET 8.0 SDK 作为构建阶段
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
WORKDIR /src

EXPOSE 5566

# 复制项目文件到工作目录
COPY ["interface/MhAdmin.Web.Entry/MhAdmin.Web.Entry.csproj", "interface/MhAdmin.Web.Entry/"]
# 如果还有其他依赖项或解决方案文件，也需要复制
# COPY ["solution.sln", "."] # 如果需要的话

# 恢复依赖项
RUN dotnet restore "interface/MhAdmin.Web.Entry/MhAdmin.Web.Entry.csproj"

# 复制整个项目目录（包括源代码）
COPY interface/ ./interface/

# 发布应用程序
WORKDIR "/src/interface/MhAdmin.Web.Entry"
RUN dotnet publish --framework net8.0 -c Release -o /app/publish

# 使用 .NET 8.0 ASP.NET Core 运行时作为运行阶段
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS runtime
WORKDIR /app

# 从构建阶段复制发布输出
COPY --from=build /app/publish .

# 如果需要安装额外的包，可以在这里做
# RUN apt-get update && apt-get install -y fontconfig # 根据需要

# 设置入口点
ENTRYPOINT ["dotnet", "MhAdmin.Web.Entry.dll"]
